# @FileName  : test9.py
# @Time      : 2025/8/21 16:40
# @Author    : LuZhaoHui
# @Software  : PyCharm

file = "F:/data/image/1.1-73N+/bajiao/47.2-PH1.1-1-100/100-000002A.jpg"

from PIL import Image
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def jpg_to_pdf(jpg_path, pdf_path, dpi=300):
    # 打开JPG图片
    img = Image.open(jpg_path)
    # 创建PDF文件
    c = canvas.Canvas(pdf_path, pagesize=letter)
    # 获取图片的尺寸，并将其转换为PDF的尺寸（以点为单位）
    width, height = letter
    img_width, img_height = img.size
    aspect_ratio = height / float(width)
    if width > img_width:
        # 图片宽度大于页面宽度，按比例缩放
        width = img_width
        height = width * aspect_ratio
    else:
        # 图片高度大于页面高度，按比例缩放
        height = img_height
        width = height / aspect_ratio
    # 将图片绘制到PDF的指定位置
    c.drawImage(jpg_path, 0, 0, width=width, height=height)
    # 保存PDF文件
    c.save()


# 使用示例
jpg_files = ['path/to/your/image1.jpg', 'path/to/your/image2.jpg']  # 你可以添加多个JPG文件路径
pdf_path = 'output.pdf'  # 输出PDF文件的路径

# 对每个JPG文件进行处理并保存到PDF中
for jpg_file in jpg_files:
    jpg_to_pdf(jpg_file, pdf_path)  # 注意：这将覆盖之前的PDF内容，如果要合并多个图片到同一个PDF，请使用下面的方法。